package main.java.datatypes.juegos;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import main.java.datatypes.comentarios.ComentarioVO;

public class JuegoVO implements Serializable{

	private static final long serialVersionUID = -7395051582750587232L;
	
	private String nombre;
	private String descripcion;
	private double tamano;
	private int numero;
	private double precio;
	private List<String> categorias;
	private String desarrollador;
	private List<ComentarioVO> comentarios;
	private List<CompraVO> compradores;
	private List<VersionVO> versionesAprobadas;
	private String link;
	private List<VersionVO> versiones;
	private VersionVO ultAprobada;

	
	String numeroVersion;

	/**
	 * 
	 * @param nombre
	 * @param descripcion
	 * @param tamano
	 * @param precio
	 */
	public JuegoVO( String nombre, String descripcion, double tamano, double precio){
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.tamano = tamano;
		this.precio = precio;
		this.versiones = new ArrayList<VersionVO>(); 
		this.versionesAprobadas = new ArrayList<VersionVO>(); 
	}
	
	/**
	 * 
	 * @param nombre
	 * @param desarrollador
	 * @param precio
	 */
	public JuegoVO( String nombre , double precio){
		this.nombre = nombre;
		this.precio = precio;
		this.versiones = new ArrayList<VersionVO>(); 
	}
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public double getTamano() {
		return tamano;
	}
	public void setTamano(double tamano) {
		this.tamano = tamano;
	}
	public int getNumero() {
		return numero;
	}
	public void setNumero(int numero) {
		this.numero = numero;
	}
	public double getPrecio() {
		return precio;
	}
	public void setPrecio(double precio) {
		this.precio = precio;
	}
	public List<String> getCategorias() {
		return categorias;
	}
	public void setCategorias(List<String> categorias) {
		this.categorias = categorias;
	}
	/*public List<CategoriaVO> getCategorias() {
		return categorias;
	}
	public void setCategorias(List<CategoriaVO> categorias) {
		this.categorias = categorias;
	}*/
	public void setDesarrollador(String desarrollador) {
		this.desarrollador = desarrollador;
	}
	public String getDesarrollador() {
		return desarrollador;
	}
	public void setComentarios(List<ComentarioVO> comentarios) {
		this.comentarios = comentarios;
	}
	public List<ComentarioVO> getComentarios() {
		return comentarios;
	}
	public void setCompradores(List<CompraVO> compradores) {
		this.compradores = compradores;
	}
	public List<CompraVO> getCompradores() {
		return compradores;
	}	
	public String getNumeroVersion() {
		return numeroVersion;
	}

	public void setNumeroVersion(String numeroVersion) {
		this.numeroVersion = numeroVersion;
	}
	
	public List<VersionVO> getVersionesAprobadas() {
		return versionesAprobadas;
	}

	public void setVersionesAprobadas(List<VersionVO> versionesAprobadas) {
		this.versionesAprobadas = versionesAprobadas;
	}

	public String getLink() {
		return link;
	}

	public void setLink(String link) {
		this.link = link;
	}

	public List<VersionVO> getVersiones() {
		return versiones;
	}

	public void setVersiones(List<VersionVO> versiones) {
		this.versiones = versiones;
	}

	public VersionVO getUltAprobada() {
		return ultAprobada;
	}

	public void setUltAprobada(VersionVO ultAprobada) {
		this.ultAprobada = ultAprobada;
	}
	
	public String getCategoriasLit(){
		String res = "";
		for(String cat : categorias){
			res.concat(cat).concat(", ");
		}
		return res.trim();	
	}
	
	public int getVentas(){
		return compradores.size();
	}

}
